home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / graphic / pbmpl91d.zip / PBMPLUS / PATCH / MAKEFILE.PPM < prev    next >
Text File  |  1993-01-08  |  7KB  |  209 lines

  1. .SUFFIXES:    .out .a .o .c
  2. # Makefile for ppm tools.
  3. #
  4. # Copyright (C) 1989, 1991 by Jef Poskanzer.
  5. #
  6. # Permission to use, copy, modify, and distribute this software and its
  7. # documentation for any purpose and without fee is hereby granted, provided
  8. # that the above copyright notice appear in all copies and that both that
  9. # copyright notice and this permission notice appear in supporting
  10. # documentation.  This software is provided "as is" without express or
  11. # implied warranty.
  12.  
  13. # Default values, usually overridden by top-level Makefile.
  14. #CC =        cc
  15. CC =        gcc -ansi -pedantic -fcombine-regs -fpcc-struct-return -lm
  16. #CFLAGS =    -O
  17. CFLAGS =    -g
  18. #CFLAGS =    -g -O
  19. #RGBDEF =     -DRGB_DB=\"/usr/lib/X11/rgb\"
  20. #LDFLAGS =    -s
  21. LDFLAGS =    
  22. INSTALLBINARIES =    /usr/new/pbm
  23. INSTALLSCRIPTS =    $(INSTALLBINARIES)
  24. INSTALLMANUALS1 =    /usr/man/mann
  25. SUFFIXMANUALS1 =    1
  26. INSTALLMANUALS3 =    /usr/man/mann
  27. SUFFIXMANUALS3 =    3
  28. INSTALLMANUALS5 =    /usr/man/mann
  29. SUFFIXMANUALS5 =    5
  30. MANCP =            cp
  31.  
  32. PGMDIR =    ../pgm
  33. INCLUDEPGM =    -I$(PGMDIR)
  34. LIBPGM =    $(PGMDIR)/libpgm.a
  35. DEFPGM =    $(PGMDIR)/pgm.h
  36. DEFLIBPGM =    $(PGMDIR)/libpgm.h
  37.  
  38. PBMDIR =    ../pbm
  39. INCLUDEPBM =    -I$(PBMDIR)
  40. LIBPBM =    $(PBMDIR)/libpbm.a
  41. DEFPBM =    $(PBMDIR)/pbm.h ../pbmplus.h
  42. DEFLIBPBM =    $(PBMDIR)/libpbm.h
  43.  
  44. INCLUDE =    -I.. $(INCLUDEPGM) $(INCLUDEPBM)
  45. ALLCFLAGS =    $(CFLAGS) $(RGBDEF) $(INCLUDE)
  46. LIBPPM =    libppm.a
  47.  
  48. PORTBINARIES =    giftoppm gouldtoppm ilbmtoppm imgtoppm mtvtoppm \
  49.         pcxtoppm pgmtoppm pi1toppm picttoppm \
  50.         pjtoppm ppmdither ppmhist ppmmake \
  51.         ppmquant ppmrelief ppmtoacad ppmtogif ppmtoicr \
  52.         ppmtoilbm ppmtopcx ppmtopgm ppmtopi1 ppmtopict \
  53.         ppmtopj ppmtopuzz ppmtorgb3 ppmtosixel \
  54.         ppmtotga ppmtouil ppmtoxpm ppmtoyuv qrttoppm \
  55.         rawtoppm rgb3toppm sldtoppm spctoppm sputoppm \
  56.         tgatoppm ximtoppm xpmtoppm yuvtoppm
  57. MATHBINARIES =    ppmforge ppmpat ppmqvga
  58. BINARIES =    $(PORTBINARIES) $(MATHBINARIES)
  59. SCRIPTS =    ppmquantall
  60.  
  61. OBJECTS =    giftoppm.o gouldtoppm.o ilbmtoppm.o imgtoppm.o mtvtoppm.o \
  62.         pcxtoppm.o pgmtoppm.o pi1toppm.o picttoppm.o \
  63.         pjtoppm.o ppmdither.o ppmhist.o ppmmake.o \
  64.         ppmquant.o ppmrelief.o ppmtoacad.o ppmtogif.o ppmtoicr.o \
  65.         ppmtoilbm.o ppmtopcx.o ppmtopgm.o ppmtopi1.o ppmtopict.o \
  66.         ppmtopj.o ppmtopuzz.o ppmtorgb3.o ppmtosixel.o \
  67.         ppmtotga.o ppmtouil.o ppmtoxpm.o ppmtoyuv.o qrttoppm.o \
  68.         rawtoppm.o rgb3toppm.o sldtoppm.o spctoppm.o sputoppm.o \
  69.         tgatoppm.o ximtoppm.o xpmtoppm.o yuvtoppm.o \
  70.         ppmforge.o ppmpat.o ppmqvga.o
  71.  
  72. MANUALS1 =    $(BINARIES) $(SCRIPTS)
  73. MANUALS3 =    libppm
  74. MANUALS5 =    ppm
  75.  
  76.  
  77. #all:        binaries
  78. all:        merge
  79. #install:    install.bin
  80. install:    install.merge
  81.  
  82.  
  83. binaries:    $(BINARIES)
  84.  
  85. install.bin:    binaries $(SCRIPTS)
  86.     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  87.     cp $(BINARIES) $(INSTALLBINARIES)
  88.     cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  89.     cp $(SCRIPTS) $(INSTALLSCRIPTS)
  90.     cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  91.  
  92.  
  93. merge:        ppmmerge
  94. ppmmerge:    ppmmerge.c $(OBJECTS) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  95.     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) -lm $(LIBPPM) $(LIBPGM) $(LIBPBM)
  96.     -aout2exe $@
  97.  
  98. install.merge:    install.ppmmerge $(SCRIPTS)
  99. install.ppmmerge:    ppmmerge
  100.     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  101.     cp ppmmerge $(INSTALLBINARIES)
  102.     cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln ppmmerge $$i ; done
  103.     rm $(INSTALLBINARIES)/ppmmerge
  104.     cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  105.     cp $(SCRIPTS) $(INSTALLSCRIPTS)
  106.     cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  107.  
  108.  
  109. install.man:
  110.     for i in $(MANUALS1) ; do \
  111.         rm -f $(INSTALLMANUALS1)/$$i.$(SUFFIXMANUALS1) ; \
  112.         $(MANCP) $$i.1 $(INSTALLMANUALS1)/$$i.$(SUFFIXMANUALS1) ; \
  113.     done
  114.     for i in $(MANUALS3) ; do \
  115.         rm -f $(INSTALLMANUALS3)/$$i.$(SUFFIXMANUALS3) ; \
  116.         $(MANCP) $$i.3 $(INSTALLMANUALS3)/$$i.$(SUFFIXMANUALS3) ; \
  117.     done
  118.     for i in $(MANUALS5) ; do \
  119.         rm -f $(INSTALLMANUALS5)/$$i.$(SUFFIXMANUALS5) ; \
  120.         $(MANCP) $$i.5 $(INSTALLMANUALS5)/$$i.$(SUFFIXMANUALS5) ; \
  121.     done
  122.  
  123.  
  124. # Rule for plain programs.
  125. $(PORTBINARIES):    ppm.h $(DEFPGM) $(DEFPBM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  126.     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(LIBPPM) $(LIBPGM) $(LIBPBM)
  127.     -aout2exe $@
  128.  
  129. # Rule for math-dependent programs.
  130. $(MATHBINARIES):    ppm.h $(DEFPGM) $(DEFPBM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  131.     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c -lm $(LIBPPM) $(LIBPGM) $(LIBPBM)
  132.     -aout2exe $@
  133.  
  134. # Rule for objects.
  135. $(OBJECTS):    ppm.h $(DEFPGM) $(DEFPBM)
  136.     $(CC) $(ALLCFLAGS) -Dmain=$*_main -c $*.c
  137.  
  138. # And libraries.
  139. $(LIBPBM):
  140.     cd $(PBMDIR) ; make lib
  141. $(LIBPGM):
  142.     cd $(PGMDIR) ; make lib
  143. lib:        $(LIBPPM)
  144. $(LIBPPM):    libppm1.o libppm2.o libppm3.o libppm4.o libppm5.o
  145.     -rm $(LIBPPM)
  146.     ar rc $(LIBPPM) libppm1.o libppm2.o libppm3.o libppm4.o libppm5.o
  147.     -ranlib $(LIBPPM)
  148.  
  149. libppm1.o:    ppm.h $(DEFPGM) $(DEFPBM) libppm.h libppm1.c
  150.     $(CC) $(ALLCFLAGS) -c libppm1.c
  151. libppm2.o:    ppm.h $(DEFPGM) $(DEFPBM) libppm.h libppm2.c $(DEFLIBPGM) \
  152.         $(DEFLIBPBM)
  153.     $(CC) $(ALLCFLAGS) -c libppm2.c
  154. libppm3.o:    ppm.h $(DEFPGM) $(DEFPBM) ppmcmap.h libppm.h libppm3.c
  155.     $(CC) $(ALLCFLAGS) -c libppm3.c
  156. libppm4.o:    ppm.h $(DEFPGM) $(DEFPBM) libppm4.c
  157.     $(CC) $(ALLCFLAGS) -c libppm4.c
  158. libppm5.o:    ppm.h $(DEFPGM) $(DEFPBM) ppmdraw.h libppm5.c
  159.     $(CC) $(ALLCFLAGS) -c libppm5.c
  160.  
  161. # Other dependencies.
  162. giftoppm giftoppm.o:        giftoppm.c
  163. gouldtoppm gouldtoppm.o:    gouldtoppm.c
  164. ilbmtoppm ilbmtoppm.o:        ilbmtoppm.c ilbm.h
  165. imgtoppm imgtoppm.o:        imgtoppm.c
  166. mtvtoppm mtvtoppm.o:        mtvtoppm.c
  167. pcxtoppm pcxtoppm.o:        pcxtoppm.c
  168. pgmtoppm pgmtoppm.o:        pgmtoppm.c
  169. pi1toppm pi1toppm.o:        pi1toppm.c
  170. picttoppm picttoppm.o:        picttoppm.c
  171. pjtoppm pjtoppm.o:        pjtoppm.c
  172. ppmdither ppmdither.o:        ppmdither.c
  173. ppmforge ppmforge.o:        ppmforge.c
  174. ppmhist ppmhist.o:        ppmhist.c ppmcmap.h
  175. ppmmake ppmmake.o:        ppmmake.c
  176. ppmpat ppmpat.o:        ppmpat.c ppmdraw.h
  177. ppmquant ppmquant.o:        ppmquant.c $(PGMDIR)/dithers.h ppmcmap.h
  178. ppmrelief ppmrelief.o:        ppmrelief.c
  179. ppmtoacad ppmtoacad.o:        ppmtoacad.c ppmcmap.h autocad.h
  180. ppmtogif ppmtogif.o:        ppmtogif.c ppmcmap.h
  181. ppmtoicr ppmtoicr.o:        ppmtoicr.c ppmcmap.h
  182. ppmtoilbm ppmtoilbm.o:        ppmtoilbm.c ilbm.h ppmcmap.h
  183. ppmtopcx ppmtopcx.o:        ppmtopcx.c ppmcmap.h
  184. ppmtopgm ppmtopgm.o:        ppmtopgm.c
  185. ppmtopi1 ppmtopi1.o:        ppmtopi1.c ppmcmap.h
  186. ppmtopict ppmtopict.o:        ppmtopict.c ppmcmap.h
  187. ppmtopj ppmtopj.o:        ppmtopj.c
  188. ppmtopuzz ppmtopuzz.o:        ppmtopuzz.c ppmcmap.h
  189. ppmtorgb3 ppmtorgb3.o:        ppmtorgb3.c
  190. ppmtosixel ppmtosixel.o:    ppmtosixel.c ppmcmap.h
  191. ppmtotga ppmtotga.o:        ppmtotga.c ppmcmap.h
  192. ppmtouil ppmtouil.o:        ppmtouil.c ppmcmap.h
  193. ppmtoxpm ppmtoxpm.o:        ppmtoxpm.c ppmcmap.h
  194. ppmtoyuv ppmtoyuv.o:        ppmtoyuv.c
  195. qrttoppm qrttoppm.o:        qrttoppm.c
  196. rawtoppm rawtoppm.o:        rawtoppm.c
  197. rgb3toppm rgb3toppm.o:        rgb3toppm.c
  198. sldtoppm sldtoppm.o:        sldtoppm.c ppmdraw.h autocad.h
  199. spctoppm spctoppm.o:        spctoppm.c
  200. sputoppm sputoppm.o:        sputoppm.c
  201. tgatoppm tgatoppm.o:        tgatoppm.c tga.h
  202. ximtoppm ximtoppm.o:        ximtoppm.c xim.h
  203. xpmtoppm xpmtoppm.o:        xpmtoppm.c
  204. yuvtoppm yuvtoppm.o:        yuvtoppm.c
  205. ppmqvga ppmqvga.o:            ppmqvga.c
  206.  
  207. clean:
  208.     -rm -f *.o *.a *.cat core $(BINARIES) ppmmerge *.exe
  209.